package ejb.com.bbva.cbm.util.voucher;

import cbm.commons.UtilitarioFunciones;

public class DatosVoucherConsultaSaldos extends DatosVoucher {
	private String numeroCuenta;
	private String nombreTitular;
	private String divisa;
	private String moneda;
	private String simboloMoneda;
	private String saldoDisponible;
	private String saldoContable;
	private String concepto;
	private boolean flgSaldoDisponible;
	private boolean flgSaldoActual;
	public DatosVoucherConsultaSaldos(){
		super(56, 0);
	}
	
	public String getNumeroCuenta() {
		return numeroCuenta;
	}

	public void setNumeroCuenta(String numeroCuenta) {
		this.numeroCuenta = numeroCuenta;
	}

	public String getNombreTitular() {
		return nombreTitular;
	}

	public void setNombreTitular(String nombreTitular) {
		this.nombreTitular = nombreTitular;
	}

	public String getDivisa() {
		return divisa;
	}

	public void setDivisa(String divisa) {
		this.divisa = divisa;
	}

	public String getMoneda() {
		return moneda;
	}

	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}


	@Override
	public String generarCadenaImpresion() {
		
		StringBuilder impresionTexto = new StringBuilder();
		impresionTexto.append(UtilitarioFunciones.formatStringCENTER("--- CONSULTA DE SALDOS ---", 43, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("FECHA", 8, ' ')).append(": ").
		append(UtilitarioFunciones.formatearFecha(UtilitarioFunciones.obtenerFechaActual(),"dd-MM-yyyy")).
		append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("NRO. CTA.", 8, ' ')).append(": ").
			append(UtilitarioFunciones.formatStringLEFT(this.numeroCuenta,20,' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("DIVISA", 8, ' ')).append(": ").append(this.divisa).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("TITULAR", 8, ' ')).append(": ").
			append(UtilitarioFunciones.formatStringLEFT(this.nombreTitular,50,' ')).
			append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("REF", 8, ' ')).append(": ").append("CONSULTA DE SALDOS").append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		if(this.moneda.equals("EUR")){
			this.simboloMoneda = "EUR";
		}
		if(flgSaldoDisponible){
			impresionTexto.append(UtilitarioFunciones.formatStringLEFT("(*)SALDO DISP CLIENTE",21,' ')).append("  "+this.simboloMoneda).append(UtilitarioFunciones.formatStringRIGHT(" "+this.saldoDisponible,14, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		}
		if(flgSaldoActual){
			impresionTexto.append(UtilitarioFunciones.formatStringLEFT("SALDO ACTUAL",21,' ')).append("  "+this.simboloMoneda).append(UtilitarioFunciones.formatStringRIGHT(" "+this.saldoContable,14, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		}
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		String glosa = generarGlosaOperacion();
		if(glosa != null && !glosa.trim().equals("")) {
			impresionTexto.append("GLOSA: ").append(glosa).append(UtilitarioFunciones.SALTO_DE_LINEA);
		}		
		impresionTexto.append("CLAVE: ").append(generarClaveOperacion()).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append((UtilitarioFunciones.formatStringCENTER(oficinaNombre, 43, ' ')));
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		
		impresionTexto.append(UtilitarioFunciones.getFinalPagina());
		
		return impresionTexto.toString();
	}


	public String getConcepto() {
		return concepto;
	}

	public void setConcepto(String concepto) {
		this.concepto = concepto;
	}


	public String getSimboloMoneda() {
		return simboloMoneda;
	}

	public void setSimboloMoneda(String simboloMoneda) {
		this.simboloMoneda = simboloMoneda;
	}

	public String getSaldoDisponible() {
		return saldoDisponible;
	}

	public void setSaldoDisponible(String saldoDisponible) {
		this.saldoDisponible = saldoDisponible;
	}

	public String getSaldoContable() {
		return saldoContable;
	}

	public void setSaldoContable(String saldoContable) {
		this.saldoContable = saldoContable;
	}

	public boolean isFlgSaldoDisponible() {
		return flgSaldoDisponible;
	}

	public void setFlgSaldoDisponible(boolean flgSaldoDisponible) {
		this.flgSaldoDisponible = flgSaldoDisponible;
	}

	public boolean isFlgSaldoActual() {
		return flgSaldoActual;
	}

	public void setFlgSaldoActual(boolean flgSaldoActual) {
		this.flgSaldoActual = flgSaldoActual;
	}
}
